<?php
Class MovimientoController extends ApplicationGeneral{
	
	function EnviarSAP_SARC_EDUTIVA_ASAMBLEACLADEA(){
		//Obteniendo el valor del cliente proceso
		$idClienteProceso=$_REQUEST['id'];

		//Obteniendo los datos generales
		$_SESSION['Autenticado']=true;
		$actor = new Actor();
		$movimientoSAP = new MovimientoSap();
		$movimiento = new Movimiento();
		$clienteProceso =new ClienteProceso();

		//En el movimiento se guarda el monto
		//Se busca el movimiento por IdClienteProceso
		//y se obtiene el $idMovimiento Correspondiente
		//Relacion de uno a uno
		$movimientoInstacia = $movimiento->buscarxIdCP($idClienteProceso);
		$idMovimiento = $movimientoInstacia[0]['Id'];

		//Buscando el cliente proceso por el $idClienteProceso y luego
		//se obtiene el idActor, es decir del postulante a quien corresponde
		$clienteProcesoInstancia = $clienteProceso->BuscaxIdClienteProceso($idClienteProceso);
		$idActor = $clienteProcesoInstancia[0]['IdCliente'];
		
		//Buscando al actor por el $idActor
		$actorTemp = $actor->busquedaActorxid($idActor);
		$datos = $actorTemp[0];

		//Obteniendo toda la data del proceso
		$proceso = new Proceso();
		$dproc = $proceso->informacionbasica($clienteProcesoInstancia[0]['IdProceso']);

		//Buscando los codigos de promocion y de pago
		$movimientoTemp=$movimiento->buscar($idMovimiento);
		$datosMatricula = $movimientoTemp[0];
		$datosMatricula['CodPromo'] = $dproc[0]['codigopromocion'];
		$datosMatricula['CodCurso'] = $dproc[0]['codigocurso'];
		
		$datosMatricula['CodigoPedidoSAP'] = $clienteProcesoInstancia[0]['CodigoPedidoSAP'];
		$datosMatricula['CodigoPedidoSARC'] = $clienteProcesoInstancia[0]['CodigoPedidoSARC'];
		//$datosMatricula['MontoCurso']


		//print_r($clienteProcesoInstancia);
		//exit();
		///
		//Datos del cliente
		//Completando sus datos
		///
		$datosCliente = $datos;
			
		$parametro = new Parametro();
		$ubigeoTemp = $parametro->obtenerUbigeo($datosCliente["Ubigeo"]);
		$ubigeo = $ubigeoTemp[0];
				
		//Para el cliente para SAP
		$datosCliente["CodigoDepartamento"] = (isset($ubigeo["iddepartamentosap"]) && $ubigeo["iddepartamentosap"] != "")?$ubigeo["iddepartamentosap"]:$var_config['Globals']['DEPARTAMENTO_SAP'];
		$datosCliente["CodigoProvincia"] = (isset($ubigeo["idprovinciasap"]) && $ubigeo["idprovinciasap"] != "")?$ubigeo["idprovinciasap"]:$var_config['Globals']['PROVINCIA_SAP'];
		$datosCliente["CodigoDistrito"] = (isset($ubigeo["iddistritosap"]) && $ubigeo["iddistritosap"] != "")?$ubigeo["iddistritosap"]:$var_config['Globals']['DISTRITO_SAP'];
					
		//Para el cliente en SARC
		$datosCliente["PaisSARC"] = "PE";
		$datosCliente["DepartamentoSARC"] = $ubigeo["iddepartamento"] <9 ?"0".$ubigeo["iddepartamento"]:$ubigeo["iddepartamento"];
		$datosCliente["ProvinciaSARC"] = $ubigeo["idprovincia"] < 9?"0".$ubigeo["idprovincia"]:$ubigeo["idprovincia"];
		$datosCliente["DistritoSARC"] = $ubigeo["iddistrito"] < 9?"0".$ubigeo["iddistrito"]:$ubigeo["iddistrito"];		
		
		//Para el pedido en SAP
		$ubigeoNombreUnido = explode("-",$ubigeo["nombreunido"]);
		$datosMatricula["DepartamentoSAP"] = $ubigeoNombreUnido[0]; 
		$datosMatricula["ProvinciaSAP"] = $ubigeoNombreUnido[1]; 
		$datosMatricula["DistritoSAP"] = $ubigeoNombreUnido[2]; 
		///
		
		$datosMatricula['TipoPersonaSARC'] = "N";
		$datosMatricula['TipoDocumentoBFSARC'] = ($datosMatricula['Tipo'] == "boleta")?"B":"F";
		
		$datosMatricula['PrecioCurso'] = $datosMatricula["Importe"];
		$datosMatricula['MontoBrutoCurso'] = $datosMatricula["Importe"];
		$datosMatricula['InteresesCurso'] = "0.0";
		$datosMatricula['DescuentoCurso'] = "0.0";
		$datosMatricula['MontoNetoCurso'] = $datosMatricula["Importe"];		
		$datosMatricula["TipoMonedaCurso"] = "USD";

		$datosMatricula['PrecioCursoCambio'] = $datosMatricula["Importe"]*$datosMatricula["TipoCambio"];// Es el costo del curso con el tipo de cambio
		$datosMatricula['MontoBrutoCursoCambio'] = $datosMatricula["Importe"]*$datosMatricula["TipoCambio"]; // Es el monto bruto con el tipo de cambio
		$datosMatricula['DescuentoCursoCambio'] = "0.0";//Es la diferencia del MontoBrutoCambio-PrecioCursoCambio , no incluye los intereses
		$datosMatricula['InteresesCursoCambio'] = "0.0"; // Son los interes transformado con el tipo de cambio
		$datosMatricula['MontoNetoCursoCambio'] = $datosMatricula["Importe"]*$datosMatricula["TipoCambio"];//Es el costocurso + los intereses
		$datosMatricula['TipoMonedaCursoCambio'] = "USD";
		
		$datosMatricula['PorcentajeMonto'] = "100.00";
		$datosMatricula['TipoCambioOrigen'] = $datosMatricula['TipoCambio'];		
		$datosMatricula['EstadoPedido'] = 'A'; // El esta es A por defecto
		$datosMatricula['CodigoUsuario'] = "UsuarioWeb"; // Es el codigo de la persona que hace el pago el operador
		$datosMatricula["ObservacionPedido"] = "Pago por internet http://admisionpost.esan.edu.pe";
		
		//Para la direccion de SAP
		$datosMatricula["Direccion"] = $datosCliente['DireccionActual'];
		
		//cargando la variable de configuracion
		$var_config = parse_ini_file("config.ini",true);
		$modo = $var_config['Globals']['Modo'];
		$URL_MODULO_SARC = $var_config[$modo]['URL_MODULO_SARC'];
		
		///
		///Envio al SAP SARC EDUTIVA 
		//print_r($this->construirDatosSAPPedido($var_config, $datosMatricula, $usuarioResponsable));
		//print_r($datosMatricula);
		//exit();
		$oSoapClient = new nusoap_client($URL_MODULO_SARC,true);
		$clienteMatriculaSend = array(
			"trama" => array(
				"ClienteSAP" => $this->construirDatosSAPAlumno($var_config, $datosCliente,  $usuarioResponsable)
				,"PedidoSAP" => $this->construirDatosSAPPedido($var_config, $datosMatricula, $usuarioResponsable)
				,"ClienteSARC" => $this->construirDatosSARCCliente($var_config, $datosCliente, $usuarioResponsable)
				,"MatriculaSARC" => $this->construirDatosSARCMatricula($var_config, $datosCliente, $datosMatricula, $usuarioResponsable)
				,"PedidoSARC" => $this->construirDatosSARCPedido($var_config, $datosCliente, $datosMatricula, $usuarioResponsable)
		)
		);

				//echo "<pre>";
//print_r($oSoapClient);
		/*echo "</pre>";		
		echo "<pre>";
print_r($clienteMatriculaSend);
		echo "</pre>";
		exit();*/
		/*echo "<pre>";
		print_r($oSoapClient);
		echo "</pre>";
		exit();*/
		$ClienteSARC = $oSoapClient->call("MatricularSAPSARCEdutivaPEEOnline",$clienteMatriculaSend);

		/*print_r($ClienteSARC);
		exit();*/
		
		
		$CodigoClienteSAP = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["ClienteSAP"]["CODSAP"];//
		$CodigoPedidoSAP = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["PedidoSAP"]["CodigoPedido"];//
		$CodigoClienteSARC = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["ClienteSARC"]["Clie_Codigo"];//
		$IdActorEdutiva = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["ClienteSARC"]["idActor"];//
		$CodigoAlumnoEdutiva = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["ClienteSARC"]["UsuarioEdutiva"];
		$CodigoPedidoSARC = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["PedidoSARC"]["NumPedidoSARC"];		
		$CodigoSeccionEdutiva = $ClienteSARC["MatricularSAPSARCEdutivaPEEOnlineResult"]["MatriculaSARC"]["CodigoSeccionEdutiva"];
		

		
		//Actualizando el actor
		if($IdActorEdutiva && $IdActorEdutiva != ""){
			$dataActor["IdActorEdutiva"] = $IdActorEdutiva;
		}
		
		if($CodigoClienteSARC && $CodigoClienteSARC != ""){
			$dataActor["Clie_CodigoSARC"] = $CodigoClienteSARC;
		}
		
		if($CodigoAlumnoEdutiva && $CodigoAlumnoEdutiva != ""){
			$dataActor["UsuarioEdutiva"] = $CodigoAlumnoEdutiva;
		}
		
		if($CodigoClienteSAP && $CodigoClienteSAP != ""){
			$dataActor["CodigoSap"] = $CodigoClienteSAP;
		}
		$actor->ActualizaActor($dataActor,"Id=".$idActor);
		
		
		//Actualizando el Movimiento SAP, ClienteProceso
		$dataClienteProceso["EsMatriculado"] = "1";	

		if($CodigoSeccionEdutiva != ""){		
		$dataClienteProceso["CodigoSeccion"] = $CodigoSeccionEdutiva;
		}
		
		if($CodigoPedidoSARC != ""){
		$dataClienteProceso["CodigoPedidoSARC"] = $CodigoPedidoSARC;
		}
		
		$dataClienteProceso["CodigoPedidoSAP"] = $CodigoPedidoSAP;
		$dataClienteProceso["FechaMatricula"] = date("Y-m-d H:i:s");
		$clienteProceso->ActualizaClienteProceso($dataClienteProceso,$idClienteProceso);
		
		//exit();
		echo "<pre>";
		print_r($ClienteSARC);
		echo "</pre>";
		exit();			
		//echo '<pre>' . htmlspecialchars($oSoapClient->request, ENT_QUOTES) . '</pre>';

		//$ruta['ruta']="/admin/listadopagadosadmin";
		//$this->view->show("ruteador.phtml",$ruta);
	}

	private function construirDatosSAPAlumno($var_config, $datosCliente,  $usuarioResponsable){

		$modo = $var_config['Globals']['Modo'];

		$tipoDocumento = $var_config['Globals']['TIPODOCUMENTO_SAP'];//"LE";
		$mandanteSAP = $var_config['Globals']['MANDANTE_SAP'];
		$pais = $var_config['Globals']['PAIS_SAP'];
		$departamento = $datosCliente["CodigoDepartamento"];
		$provincia = $datosCliente["CodigoProvincia"];
		$distrito = $datosCliente["CodigoDistrito"];

		$tipoCliente = (isset($datosCliente['TipoCliente']) && ($datosCliente['TipoCliente'] != ""))?$datosCliente['TipoCliente']:$var_config['Globals']['ALUMNO_SAP'];
		$ruc = (isset($datosCliente['Ruc']) && ($datosCliente['Ruc'] != ""))?$datosCliente['Ruc']:$var_config['Globals']['RUC_ALUMNO_SAP'];
		$tenor = (isset($datosCliente['TenorSAP']) && ($datosCliente['TenorSAP'] != ""))?$datosCliente['TenorSAP']:$var_config['Globals']['TENOR_SAP'];
		$sexo = (isset($datosCliente['Genero']) && ($datosCliente['Genero'] != ""))?$datosCliente['Genero']:$var_config['Globals']['SEXO_SAP'];
		$direccion = (isset($datosCliente['DireccionActual']) && ($datosCliente['DireccionActual'] != ""))?$datosCliente['DireccionActual']:$var_config['Globals']['DIRECCION_SAP'];
		$telefono = (isset($datosCliente['TelefonoContacto']) && ($datosCliente['TelefonoContacto'] != ""))?$datosCliente['TelefonoContacto']:$var_config['Globals']['CELULAR_SAP'];
		$celular = (isset($datosCliente['TelefonoFijo']) && ($datosCliente['TelefonoFijo'] != ""))?$datosCliente['TelefonoFijo']:$var_config['Globals']['CELULAR_SAP'];


		$clienteSAP = array(
		"TipoCliente" => $tipoCliente
		,"Paterno" => $datosCliente['ApellidoPaterno']
		,"Materno" => $datosCliente['ApellidoMaterno']
		,"Nombres" => $datosCliente['Nombres']
		,"Email" => $datosCliente['EmailPrincipal']
		,"NumeroDocumento" => $datosCliente['Dni']
		,"RUC" => $ruc
		,"TipoDocumento" => $tipoDocumento
		,"MandanteSAP" => $mandanteSAP
		,"Trato" => $tenor
		,"Sexo" => $sexo
		,"Pais" => $pais
		,"Departamento" => $departamento
		,"Provincia" => $provincia
		,"Distrito" => $distrito
		,"Direccion" => $direccion
		,"Telefono" => $telefono
		,"Celular" =>  $celular);

		return $clienteSAP;
	}

	private function construirDatosSAPPedido($var_config, $datosMatricula, $usuarioResponsable){

		$modo = $var_config['Globals']['Modo'];

		$mandanteSAP = $var_config['Globals']['MANDANTE_SAP'];
		$pais = $var_config['Globals']['PAIS_SAP'];
		$departamento = $datosMatricula['DepartamentoSAP'];
		$provincia = $datosMatricula['ProvinciaSAP'];
		$distrito = $datosMatricula['DistritoSAP'];
			
		$condicionPago =$datosMatricula['CondicionPago'];
		$centroCosto = "";
		$clase = $var_config['Globals']['CLASE'];
		$perdife = 	$var_config['Globals']['PERDIFE'];
		$referencia = $var_config['Globals']['REFERENCIA'];
		$direccion = (isset($datosMatricula['Direccion']) && ($datosMatricula['Direccion'] != ""))?$datosMatricula['Direccion']:$var_config['Globals']['DIRECCION_SAP'];
		$codGrupo = $var_config['Globals']['CODGRUPO_SAP'];
		$codCurso = $datosMatricula['CodCurso'].$codGrupo;

		$CodigoEmpresa = "";
		$codigoInteres  ="";
		$codigoPedido = $datosMatricula['CodigoPedidoSAP'];
		$CodigoVEN = "";
		$Descuento = "0";
		$DescuentoProntoPago = "0";
		$interes = "0";
		$MontoDescuento = "0";
		$DescuentoMatricula = "0";
		$Estado = "";
		$Importe = $datosMatricula['Importe'];
		$MandanteSAP = $var_config['Globals']['MANDANTE_SAP'];
		$MonedaSAP = 'USD';
		$RespPago ="";

		//Verificando el tipo de moneda
		if($datosMatricula['Moneda']=='1'){
			$MonedaSAP='USD';
		}else{
			$MonedaSAP='PEN';
		}

		$pedidoWS = array(
		"CentroCosto" => $centroCosto
		,"Clase" => $clase
		,"CodigoCurso" => $codCurso
		,"CodigoEmpresa" => $CodigoEmpresa
		,"CodigoAlumno" => ""
		,"CodigoPedido" => $codigoPedido
		,"CodigoInteres" => $codigoInteres
		,"CodigoPromocion" => $datosMatricula['CodPromo']
		,"CodigoVEN" => $CodigoVEN
		,"CondicionPago" => $condicionPago
		,"Departamento" => $departamento
		,"DescuentoMatricula" => $DescuentoMatricula
		,"Descuento" => $Descuento
		,"Direccion" => $direccion
		,"Distrito" => $distrito
		,"DescuentoProntoPago" => $DescuentoProntoPago
		,"Estado" => $Estado
		,"Importe" => $Importe
		,"Interes" => $interes
		,"MandanteSAP" => $MandanteSAP
		,"Moneda" => $MonedaSAP
		,"MontoDescuento" => $MontoDescuento
		,"Pais" => $pais
		,"Diferido" => $perdife //PERDIFE
		,"Provincia" => $provincia
		,"Referencia" => $referencia //PERDIFE
		,"RespPago" => $RespPago
		);

		
		
		return $pedidoWS;
	}
	
	private function construirDatosSARCMatricula($var_config, $datosCliente, $datosMatricula, $usuarioResponsable){
		//Inicializando valores para enviar a la matricula
		$IdPeriodo = "0";//$datosMatricula['IdPeriodo'];
		$IdPromocion = "0";//$datosMatricula['IdPromocion'];
		$IdSeccion = "0";//$datos['IdSeccion'];
		$IdGrupo = "0";//$datosMatricula['IdGrupo'];
		$IdCurso = "0";//$datosMatricula['IdCurso'];
		$IdRegistro = "0";//$datosMatricula['IdRegistro'];
		$IdMatricula = "0";//$datosMatricula['IdMatricula'];
		$CodPeriodo = "";//$datosMatricula['CodPeriodo'];
		$ModoGrabacionMatriculaASARC="N";
		$CodPrograma = $var_config["Globals"]["CodProgramaSARC"];
		$CodProducto = "";
		$CodPromocion = $datosMatricula['CodPromo'];
		$TipoCurso = $var_config["Globals"]["TipoCursoSARC"];
		$CodCurso = $datosMatricula['CodCurso'];
		$CodProPeriodo = "1";
		$CodProGrupo = "1";
		$CodMemo=$var_config["Globals"]["CodMemo"];
		$CodAlumno="";
		$EstadoRegistro=$var_config["Globals"]["EstadoRegistro"];
		$EstadoInscrito=$var_config["Globals"]["CodMemo"];
		$EstadoReInscrito="";
		$EstadoAdmitido="";
		$EstadoMatriculado="";
		$EstadoRetirado="";
		$EstadoReserva="";
		$EstadoEntregaFicha="";
		$EstadoVolverPostular="";
		$EstadoSolDerechoExamen="";
		$EstadoEmisionCarnet="";
		$NumeroCarnet="";
		$PerTriciclo="";
		$EstadoGraduado="";
		$PorcentajeBeca="";
		$PeriodoPagados="";
		$AcuerdoComite="";
		$MAG_PtjeESAN="0.0";
		$MAG_Entrev1="";
		$MAG_Entrev2="";
		$MAG_Entrev3="";
		$MAG_Entrev4="";
		$MAG_ExaPsico="";
		$MAG_GrupoExamen="";
		$MAG_OrdenMerito="0";
		$MAG_PtjeItems="0";
		$MAG_PtjeEntrev1="0";
		$MAG_PtjeEntrev2="0";
		$MAG_PtjeEntrev3="0";
		$MAG_PtjeEntrev4="0";
		$MAG_FecExamen=date("Y-m-d");
		$MAG_AulaExamen="";
		$MAG_Observaciones="";
		$PADE_Entrev="";
		$PADE_TrabFinal="0";
		$FINAL_PromFinal="0";
		$FINAL_PuestoPromo="0";
		$FINAL_TotAlumnos="0";
		$FINAL_RangoEstud="";
		$Beca_Codigo="";
		$BECA_Modalidad="";
		$PorcenBeca="0";
		$BECA_Monto="0";
		$BECA_Moneda="";
		$Moneda="";
		$idGrupoedutiva="0";
		$Matestado="1";
		$PedidoSAP="";
		$Monto="0.0";
		$MedioComunicacion="";

		$matricula = array(
				"IdPeriodo"=>$IdPeriodo,
				"IdPromocion"=>$IdPromocion,
				"IdSeccion"=>$IdSeccion,
				"IdGrupo"=>$IdGrupo,
				"IdCurso"=>$IdCurso,
				"IdRegistro"=>$IdRegistro,
				"IdMatricula"=>$IdMatricula,
				"CodPeriodo"=>$CodPeriodo,
				"ModoGrabacionMatriculaASARC"=>$ModoGrabacionMatriculaASARC,
				"CodPrograma"=>$CodPrograma,
				"CodProducto"=>$CodProducto,
				"CodPromocion"=>$CodPromocion,
				"TipoCurso"=>$TipoCurso,
				"CodCurso"=>$CodCurso,
				"CodProPeriodo"=>$CodProPeriodo,
				"CodProGrupo"=>$CodProGrupo,
				"CodMemo"=>$CodMemo,
				"CodAlumno"=>$CodAlumno,
				"EstadoRegistro"=>$EstadoRegistro,
				"EstadoInscrito"=>$EstadoInscrito,
				"EstadoReInscrito"=>$EstadoReInscrito,
				"EstadoAdmitido"=>$EstadoAdmitido,
				"EstadoMatriculado"=>$EstadoMatriculado,
				"EstadoRetirado"=>$EstadoRetirado,
				"EstadoReserva"=>$EstadoReserva,
				"EstadoEntregaFicha"=>$EstadoEntregaFicha,
				"EstadoVolverPostular"=>$EstadoVolverPostular,
				"EstadoSolDerechoExamen"=>$EstadoSolDerechoExamen,
				"EstadoEmisionCarnet"=>$EstadoEmisionCarnet,
				"NumeroCarnet"=>$NumeroCarnet,
				"PerTriciclo"=>$PerTriciclo,
				"EstadoGraduado"=>$EstadoGraduado,
				"PorcentajeBeca"=>$PorcentajeBeca,
				"PeriodoPagados"=>$PeriodoPagados,
				"AcuerdoComite"=>$AcuerdoComite,
				"MAG_PtjeESAN"=>$MAG_PtjeESAN,
				"MAG_Entrev1"=>$MAG_Entrev1,
				"MAG_Entrev2"=>$MAG_Entrev2,
				"MAG_Entrev3"=>$MAG_Entrev3,
				"MAG_Entrev4"=>$MAG_Entrev4,
				"MAG_ExaPsico"=>$MAG_ExaPsico,
				"MAG_GrupoExamen"=>$MAG_GrupoExamen,
				"MAG_OrdenMerito"=>$MAG_OrdenMerito,
				"MAG_PtjeItems"=>$MAG_PtjeItems,
				"MAG_PtjeEntrev1"=>$MAG_PtjeEntrev1,
				"MAG_PtjeEntrev2"=>$MAG_PtjeEntrev2,
				"MAG_PtjeEntrev3"=>$MAG_PtjeEntrev3,
				"MAG_PtjeEntrev4"=>$MAG_PtjeEntrev4,
				"MAG_FecExamen"=>$MAG_FecExamen,
				"MAG_AulaExamen"=>$MAG_AulaExamen,
				"MAG_Observaciones"=>$MAG_Observaciones,
				"PADE_Entrev"=>$PADE_Entrev,
				"PADE_TrabFinal"=>$PADE_TrabFinal,
				"FINAL_PromFinal"=>$FINAL_PromFinal,
				"FINAL_PuestoPromo"=>$FINAL_PuestoPromo,
				"FINAL_TotAlumnos"=>$FINAL_TotAlumnos,
				"FINAL_RangoEstud"=>$FINAL_RangoEstud,
				"Beca_Codigo"=> $Beca_Codigo,
				"BECA_Modalidad"=>$BECA_Modalidad,
				"PorcenBeca"=>$PorcenBeca,
				"BECA_Monto"=>$BECA_Monto,
				"BECA_Moneda"=>$BECA_Moneda,
				"Moneda"=>$Moneda,
				"idGrupoedutiva"=>$idGrupoedutiva,
				"Matestado"=>$Matestado,
				"PedidoSAP"=>$PedidoSAP,
				"Monto"=>$Monto,
				"MedioComunicacion"=>$MedioComunicacion
		);

		return 	$matricula;
	}
	
	private function construirDatosSARCCliente($var_config, $datosCliente, $usuarioResponsable){
		//Obteniendo los valores del archivo de configuracion
		$GCodigo = $var_config["Globals"]["GrupoCodigoSARC"];
		$tipoDocumentoSARC = $var_config["Globals"]["TipoDocumentoSARC"];
		
		$tenorSARC = (isset($datosCliente['Tenor']) && ($datosCliente['Tenor'] != ""))?$datosCliente['Tenor']:$var_config['Globals']['TenorSARC'];
		$sexo = (isset($datosCliente['Genero']) && ($datosCliente['Genero'] != ""))?$datosCliente['Genero']:$var_config['Globals']['SexoSARC'];
		$estadoCivilSARC = (isset($datosCliente['EstadoCivil']) && ($datosCliente['EstadoCivil'] != ""))?$datosCliente['EstadoCivil']:$var_config['Globals']['EstadoCivilSARC'];
				
		$usucreacion = $usuarioResponsable;
		$usumodifica = $usuarioResponsable;		

		$CodigoClienteSARC = $var_config["Globals"]["CodigoClienteSARC"];
		$ModGrabacion = $var_config["Globals"]["ModoGrabacionSARC"];

		//Inicializando valores para enviar al cliente
		$CodigoClienteEmpresa = "0";//Codigo de la Empresa
		$ClienteSucursal = "0";
		$feccreacion = date("Y-m-d");
		$fecmodifica = date("Y-m-d");
		
		$paiscod = $datosCliente["PaisSARC"];
		$dptocod = $datosCliente["DepartamentoSARC"];
		$provcod = $datosCliente["ProvinciaSARC"];
		$distcod = $datosCliente["DistritoSARC"];
		
		$flagactivo="1";
		$intecodigo="";
		$motiactivo="";
		$flagpotencial=null;
		$flagrevisado=null;

		$niedcod = $datosCliente["NivelEducacionSARC"];
		$graccodigo = $datosCliente["GradoAcademicoSARC"];
		$profcodigo = $datosCliente["ProfesionSARC"];

		$numanoexp="0";
		$codprofesor="";
		$codempleado="";
		$codigoSap="";
		$flagdirenvio="";
		$bdatcodigo="";
		$sueldorefer="0.0";
		$bloqueomail="0";
		$fechaNacimiento = ($datosCliente["FechaNacimiento"] != '0000-00-00')?$datosCliente["FechaNacimiento"]:$var_config["Globals"]["FechaNacimiento_SAP"];
		$idActor = "-1";
		$flgNoEnviarEmail = "0";

		$cliente =  array(
		"ModoGrabacion" => $ModGrabacion		
		,"Clie_ClieEmpre" => $CodigoClienteEmpresa
		,"Clie_Sucursal" => $ClienteSucursal
		,"Clie_Codigo" => $CodigoClienteSARC
		,"GCli_Codigo" => $GCodigo
		,"Clie_ApePaterno" => $datosCliente['paterno']
		,"Clie_ApeMaterno" => $datosCliente
		,"Clie_Nombre" => $datosCliente['Nombres']
		,"Clie_NomCompleto" => $datosClient['eNombreCompleto']
		,"Clie_NombreEmpleado" => $datosCliente
		,"Clie_Tenor" => $tenorSARC
		,"Clie_Sexo" => $sexo['genero']
		,"Clie_EstCivil" => $estadoCivilSARC
		,"Clie_FecNaci" => $fechaNacimiento
		,"Clie_LugarNaci" => $datosCliente
		,"Pais_Codigo_Nac" => $codnac
		,"Clie_Direccion" => $datosCliente['Direccion']
		,"Clie_Urbanizacion" => $datosCliente
		,"Pais_Codigo" => $paiscod['idpais']
		,"Dpto_Codigo" => $dptocod
		,"Prov_Codigo" => $provcod
		,"Dist_Codigo" => $distcod
		,"Clie_RefeDirecc" => $referencia
		,"Clie_Telefono01" => $datosCliente['Telefono']
		,"Clie_Telefono02" => $datosCliente
		,"Clie_Email01" => $datosCliente['email']
		,"Clie_Email02" => $datosCliente
		,"Clie_NumFax" => $fax
		,"Clie_NumRuc" => $datosCliente['rucNacional']
		,"Clie_TipDocIden" => $tipoDocumentoSARC['IdTipoDocumento']
		,"Clie_NumDocIden" => $datosCliente['NumeroDocumento']
		,"Clie_FlagPotencial" => $flagpotencial
		,"Clie_FlagRevisado" => $flagrevisado
		,"NiEd_Codigo" => $niedcod
		,"GrAc_Codigo" => $graccodigo
		,"Prof_Codigo" => $profcodigo
		,"Clie_NumAnoExp" => $numanoexp
		,"Clie_CodProfesor" => $codprofesor
		,"Clie_CodEmpleado" => $codempleado
		,"Clie_CodSAP" => $codigoSap
		,"Clie_FlagActivo" => $flagactivo
		,"Inte_Codigo" => $intecodigo
		,"Clie_MotiActivo" => $motiactivo
		,"Clie_FlagDirEnvio" => $flagdirenvio
		,"BDat_Codigo" => $bdatcodigo
		,"Clie_SueldoRefer" => $sueldorefer
		,"Clie_BloqueoMail" => $bloqueomail
		,"Fec_Creacion" => $feccreacion
		,"Fec_Modifica" => $fecmodifica
		,"Usu_Creacion" => $usucreacion
		,"Usu_Modifica" => $usumodifica
		,"idActor" => $idActor
		,"flgNoEnviarEmail" => $flgNoEnviarEmail);

		return $cliente;
	}
	
	private function construirDatosSARCPedido($var_config, $datosCliente, $datosMatricula, $usuarioResponsable){
		//Inicializando las variables del pedido
		$ModoGrabacionPedidoASARC = "N";
		$Clie_Codigo = "-1";
		$CodPrograma = $var_config["Globals"]["CodProgramaSARC"];
		$CodProducto =  "";
		$CodPromocion =  $datosMatricula['CodPromo'];
		$TipoCurso = $var_config["Globals"]["TipoCursoSARC"];
		$CodCurso = $datosMatricula['CodCurso'];
		$CodPeriodo = isset($datosMatricula['CodPeriodoSARC']) && ($datosMatricula['CodPeriodoSARC'] != "")?$datosMatricula['CodPeriodoSARC']:$var_config["Globals"]["CodPeriodoSARC"];
		$CodProGrupo = isset($datosMatricula['CodGrupoSARC']) && ($datosMatricula['CodGrupoSARC'] != "")?$datosMatricula['CodGrupoSARC']:$var_config["Globals"]["CodGrupoSARC"];
		$NumPedidoSARC = $datosMatricula['CodigoPedidoSARC'];
		$PedidoSAP = "";
		$FechaPedido = date("Y-m-d");
		$TipoPersona = isset($datosMatricula['TipoPersonaSARC']) && ($datosMatricula['TipoPersonaSARC'] != "")?$datosMatricula['TipoPersonaSARC']:$var_config["Globals"]["TipoPersonaSARC"];
		$Clie_ClieEmpre = "0";
		$Clie_Sucursal = "0";
		$CondicionPagoSARC = $datosMatricula['CondicionPago'];
		$TipoDocumentoPago = isset($datosMatricula['TipoDocumentoBFSARC']) && ($datosMatricula['TipoDocumentoBFSARC'] != "")?$datosMatricula['TipoDocumentoBFSARC']:$var_config["Globals"]["TipoDocumentoBFSARC"];
		$PorcentajeMonto = $datosMatricula['PorcentajeMonto']; //100.00 porcentaje de pago

		$PrecioCurso = $datosMatricula['PrecioCurso'];
		$MontoBrutoCurso = $datosMatricula['MontoBrutoCurso'];
		$InteresesCurso = $datosMatricula['InteresesCurso']; //Intereses del curso
		$DescuentoCurso = $datosMatricula['DescuentoCurso'];
		$MontoNetoCurso =  $datosMatricula['MontoNetoCurso'];
		$TipoMonedaCurso = $datosMatricula["TipoMonedaCurso"]; // USD o PEN

		$PrecioCursoCambio = $datosMatricula['PrecioCursoCambio'];// Es el costo del curso con el tipo de cambio
		$MontoBrutoCursoCambio = $datosMatricula['MontoBrutoCursoCambio']; // Es el monto bruto con el tipo de cambio
		$DescuentoCursoCambio = $datosMatricula['DescuentoCursoCambio'];//Es la diferencia del MontoBrutoCambio-PrecioCursoCambio , no incluye los intereses
		$InteresesCursoCambio = $datosMatricula['InteresesCursoCambio']; // Son los interes transformado con el tipo de cambio
		$MontoNetoCursoCambio = $datosMatricula['MontoNetoCursoCambio'];//Es el costocurso + los intereses
		$TipoMonedaCursoCambio = $datosMatricula['TipoMonedaCursoCambio'];//Es el tipo de modena a cambio
		$TipoCambioOrigen = $datosMatricula['TipoCambioOrigen'];
		
		$EstadoPedido = $datosMatricula["EstadoPedido"]; // El esta es A por defecto
		$CodigoUsuario = $datosMatricula["CodigoUsuario"]; // Es el codigo de la persona que hace el pago el operador

		$Observacion = $datosMatricula["ObservacionPedido"]; // es una observacion del pago
		$Modificado = "0";
		$Diferido = "1";


		$pedidoWS = array(
		"ModoGrabacionPedidoASARC" => $ModoGrabacionPedidoASARC
		,"Clie_Codigo" => $Clie_Codigo
		,"CodPrograma" => $CodPrograma
		,"CodProducto" => $CodProducto
		,"CodPromocion" => $CodPromocion
		,"TipoCurso" => $TipoCurso
		,"CodCurso" => $CodCurso
		,"CodPeriodo" => $CodPeriodo
		,"CodProGrupo" => $CodProGrupo
		,"Clie_ClieEmpre" => $Clie_ClieEmpre
		,"Clie_Sucursal" => $Clie_Sucursal		
		,"NumPedidoSARC" => $NumPedidoSARC
		,"PedidoSAP" => $PedidoSAP
		,"FechaPedido" => $FechaPedido
		,"TipoPersona" => $TipoPersona

		,"CondicionPagoSARC" => $CondicionPagoSARC
		,"TipoDocumentoPago" => $TipoDocumentoPago
		,"CostoCurso" => $PrecioCurso
		,"PorcentajeMonto" => $PorcentajeMonto
		,"MontoBruto" => $MontoBrutoCurso
		,"Intereses" => $InteresesCurso
		,"MontoNeto" => $MontoNetoCurso
		,"Observacion" => $Observacion
		,"EstadoPedido" => $EstadoPedido
		,"CodigoUsuario" => $CodigoUsuario
		,"Descuento" => $DescuentoCurso
		,"TipoMonedaOrigen" => $TipoMonedaCurso
		
		,"MontoBrutoCambio" => $MontoBrutoCursoCambio
		,"DescuentoCambio" => $DescuentoCursoCambio
		,"InteresCambio" => $InteresesCursoCambio
		,"MontoNetoCambio" => $MontoNetoCursoCambio
		,"TipoMonedaCambio" => $TipoMonedaCursoCambio
		,"TipoCambioOrigen" => $TipoCambioOrigen
		,"Modificado" => $Modificado
		,"CostoCursoCambio" => $PrecioCurso
		,"Diferido" => $Diferido
		);

		return $pedidoWS;
	}
}
?>